package cn.iocoder.yudao.module.system.enums;

/**
 * 审批流程相关常量定义
 * 用于统一管理状态值、节点编码、错误码，避免硬编码
 */
public class ApprovalConstants {
    // ======================== 审核结果常量 ========================
    /** 审核结果：待审核 */
    public static final String AUDIT_RESULT_PENDING = "0";
    /** 审核结果：通过 */
    public static final String AUDIT_RESULT_PASS = "1";
    /** 审核结果：不通过 */
    public static final String AUDIT_RESULT_REJECT = "2";

    // ======================== 完成状态常量 ========================
    /** 完成状态：待完成 */
    public static final String COMPLETE_STATUS_PENDING = "0";
    /** 完成状态：已完成 */
    public static final String COMPLETE_STATUS_FINISHED = "1";

    // ======================== 操作类型常量 ========================
    /** 操作类型：审核 */
    public static final String OPERATION_TYPE_AUDIT = "1";
    /** 操作类型：分配 */
    public static final String OPERATION_TYPE_ASSIGN = "2";

    // ======================== 应用状态常量 ========================
    /** 应用状态：审核不通过 */
    public static final String APPLICATION_STATUS_REJECT = "3";
    /** 应用状态：审核通过 */
    public static final String APPLICATION_STATUS_PASS = "4";

    // ======================== 节点编码常量 ========================
    /** 左侧节点1 */
    public static final String NODE_LEFT_1 = "LEFT_1";
    /** 左侧节点2 */
    public static final String NODE_LEFT_2 = "LEFT_2";
    /** 左侧节点3 */
    public static final String NODE_LEFT_3 = "LEFT_3";
    /** 右侧节点 */
    public static final String NODE_RIGHT = "RIGHT";
    /** 部门选择节点 */
    public static final String NODE_DEPT_SELECT = "DEPT_SELECT";
    /** 部门审核节点 */
    public static final String NODE_DEPT_AUDIT = "DEPT_AUDIT";
    /** 领导审核节点 */
    public static final String NODE_LEADER_AUDIT = "LEADER_AUDIT";
    /** 通知节点 */
    public static final String NODE_NOTIFY = "NOTIFY";
}